Cook the Angel Hair Pasta based on the package instructions to al dente.
Heat the olive oil in a large skillet over medium heat. Add the sliced onion. Cook for 1-2 minutes and then add in the minced garlic. Cook for 1 minute until the garlic is aromatic.
Then add the butter, white wine and red pepper flakes to the skillet. Cook over medium heat for 2-3 minutes.
Then add the shrimp and asparagus to the skillet. Season with the salt and pepper.
Cook uncovered for 1-2 minutes until the shrimp is pink and asparagus is just tender (be careful not to overcook the asparagus).
Then toss the pasta and tomatoes into the skillet with the shrimp mixture.
Top with the fresh parsley and grated parmesan cheese.